package cn.lili.modules.order.order.entity.dos;

import cn.lili.mybatis.model.BaseStandardEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 中奖记录表
 * @TableName li_prize_order
 */
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value ="li_prize_order")
@Data
@EqualsAndHashCode(callSuper = false)
public class PrizeOrder extends BaseStandardEntity implements Serializable {
    /**
     * 用户id
     */
    private String userId;

    /**
     * account
     */
    private String memberName;

    /**
     * 昵称
     */
    private String nickName;

    /**
     * 奖品id
     */
    private String prizeId;

    /**
     * 奖品名称
     */
    private String prizeName;
    /**
     * 奖品图片
     */
    private String prizeImg;
    /**
     * 奖品类型：1实物，2虚拟
     */
    private Integer prizeType;
    @TableField(exist = false)
    private String prizeTypeName;
    /**
     * 状态,1待领取，2已领取
     */
    private Integer prizeStatus;
    @TableField(exist = false)
    private String prizeStatusName;
    /**
     * 领取时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date prizeTime;

    /**
     * 物流单号
     */
    private String expressNo;

    /**
     * 物流公司id
     */
    private String expressId;

    /**
     * 支付f分
     */
    private BigDecimal price;

    /**
     * 收货地址ID
     */
    private String consigneeAddressIdPath;

    /**
     * 收货地址
     */
    private String consigneeAddressPath;

    /**
     * 详情地址
     */
    private String consigneeDetail;

    /**
     * 手机号
     */
    private String consigneeMobile;

    /**
     * 收货人
     */
    private String consigneeName;

    /**
     * 订单号
     */
    private String sn;

    /**
     * 飞语授权key
     */
    private String freePayKey;

    /**
     * 是否需要领取，1需要，2不需要
     */
    private Integer isNeedToCollect;
    @TableField(exist = false)
    private String isNeedToCollectName;

    /**
     * 支付状态：1未支付，2已支付
     */
    private Integer payStatus;
    @TableField(exist = false)
    private String payStatusName;

    /**
     * 支付时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}